/*
 * Copyright (c) Huawei Technologies Co., Ltd. 2025-2025. All rights reserved.
 * MemCache_Hybrid is licensed under Mulan PSL v2.
 * You can use this software according to the terms and conditions of the Mulan PSL v2.
 * You may obtain a copy of Mulan PSL v2 at:
 *          http://license.coscl.org.cn/MulanPSL2
 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
 * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
 * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
 * See the Mulan PSL v2 for more details.
*/
#ifndef MEMFABRIC_HYBRID_MMC_PTRACER_H
#define MEMFABRIC_HYBRID_MMC_PTRACER_H

#ifdef UT_ENABLED
#include "ut_ptracer.h"
#else
#include "ptracer.h"
#endif

enum TP_MMC_MOD {
    TP_MMC_START = PTRACER_ID(1, 0U),
    TP_MMC_PY_PUT,
    TP_MMC_PY_BATCH_PUT,
    TP_MMC_PYBIND_PUT_LAYERS,
    TP_MMC_PY_PUT_LAYERS,
    TP_MMC_PY_PUT_LAYERS_2D,
    TP_MMC_PYBIND_BATCH_PUT_LAYERS,
    TP_MMC_PY_BATCH_PUT_LAYERS,
    TP_MMC_PY_BATCH_PUT_LAYERS_2D,
    TP_MMC_PY_GET,
    TP_MMC_PY_BATCH_GET,
    TP_MMC_PYBIND_GET_LAYERS,
    TP_MMC_PY_GET_LAYERS,
    TP_MMC_PY_GET_LAYERS_2D,
    TP_MMC_PYBIND_BATCH_GET_LAYERS,
    TP_MMC_PY_BATCH_GET_LAYERS,
    TP_MMC_PY_BATCH_GET_LAYERS_2D,
    TP_MMC_PY_UPDATE,
    TP_MMC_PY_BATCH_UPDATE,
    TP_MMC_PY_REMOVE,
    TP_MMC_PY_BATCH_REMOVE,
    TP_MMC_PY_EXIST,
    TP_MMC_PY_BATCH_EXIST,
    TP_MMC_PY_QUERY,
    TP_MMC_PY_BATCH_QUERY,

    TP_MMC_LOCAL_PUT,
    TP_MMC_LOCAL_BATCH_PUT,
    TP_MMC_LOCAL_BATCH_PUT_SIZE,
    TP_MMC_LOCAL_GET,
    TP_MMC_LOCAL_BATCH_GET,
    TP_MMC_LOCAL_BATCH_GET_SIZE,
    TP_MMC_LOCAL_UPDATE,
    TP_MMC_LOCAL_BATCH_UPDATE,
    TP_MMC_LOCAL_REMOVE,
    TP_MMC_LOCAL_BATCH_REMOVE,
    TP_MMC_LOCAL_PUT_WAIT_FUTURE,
    TP_MMC_LOCAL_GET_WAIT_FUTURE,

    TP_MMC_META_PUT,
    TP_MMC_META_BATCH_PUT,
    TP_MMC_META_GET,
    TP_MMC_META_BATCH_GET,
    TP_MMC_META_UPDATE,
    TP_MMC_META_BATCH_UPDATE,
    TP_MMC_META_REMOVE,
    TP_MMC_META_BATCH_REMOVE,
    TP_MMC_META_EXIST,
    TP_MMC_META_BATCH_EXIST,
    TP_MMC_META_QUERY,
    TP_MMC_META_BATCH_QUERY,
    TP_MMC_META_BM_REGISTER,
    TP_MMC_META_BM_UNREGISTER,
    TP_MMC_META_CLEAR_RESOURCE,

    TP_SMEM_BM_PUT,
    TP_SMEM_BM_PUT_2D,
    TP_SMEM_BM_GET,
    TP_SMEM_BM_GET_2D,

    TP_ACC_SEND_ALLOC,
    TP_ACC_SEND_UPDATE,
    TP_ACC_SEND_GET,
    TP_ACC_SEND_REMOVE,
    TP_ACC_SEND_EXIST,
    TP_ACC_SEND_QUERY,
    TP_ACC_SEND_ALLOC_BAT,
    TP_ACC_SEND_UPDATE_BAT,
    TP_ACC_SEND_GET_BAT,
    TP_ACC_SEND_REMOVE_BAT,
    TP_ACC_SEND_EXIST_BAT,
    TP_ACC_SEND_QUERY_BAT,

    TP_ACC_SEND_WAIT_ALLOC,
    TP_ACC_SEND_WAIT_UPDATE,
    TP_ACC_SEND_WAIT_GET,
    TP_ACC_SEND_WAIT_REMOVE,
    TP_ACC_SEND_WAIT_EXIST,
    TP_ACC_SEND_WAIT_QUERY,
    TP_ACC_SEND_WAIT_ALLOC_BAT,
    TP_ACC_SEND_WAIT_UPDATE_BAT,
    TP_ACC_SEND_WAIT_GET_BAT,
    TP_ACC_SEND_WAIT_REMOVE_BAT,
    TP_ACC_SEND_WAIT_EXIST_BAT,
    TP_ACC_SEND_WAIT_QUERY_BAT,

    TP_MMC_CLIENT_BATCH_PUT,
    TP_MMC_CLIENT_BATCH_GET,

    TP_MMC_CLIENT_GET,
    TP_MMC_CLIENT_PUT,
};

#endif